/**
 * Copyright 2004 Cordys R&D B.V. 
 * 
 * This file is part of the Cordys FTP Connector. 
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 package com.eibus.applicationconnector.ftp;

import com.eibus.xml.nom.Document;

class FTPConfiguration
{
	private int port;
	
	private int numberOfConnections;

	private String protocol;
	
	private String server;
	
	private String username;
	
	private String password;
	
	private String externalIPAddress;
	
	private boolean isBinaryTransferType;
	
	private boolean isActiveMode = false;
	
	private boolean proxyEnabled;
	
	private String basepath = null;
	
	private Document document = null;
	
	/**
	 * @return the port
	 */
	public int getPort() {
		return port;
	}

	/**
	 * @param port the port to set
	 */
	public void setPort(int port) {
		this.port = port;
	}

	/**
	 * @return the numberOfConnections
	 */
	public int getNumberOfConnections() {
		return numberOfConnections;
	}

	/**
	 * @param numberOfConnections the numberOfConnections to set
	 */
	public void setNumberOfConnections(int numberOfConnections) {
		this.numberOfConnections = numberOfConnections;
	}

	/**
	 * @return the protocol
	 */
	public String getProtocol() {
		return protocol;
	}

	/**
	 * @param protocol the protocol to set
	 */
	public void setProtocol(String protocol) {
		this.protocol = protocol;
	}

	/**
	 * @return the server
	 */
	public String getServer() {
		return server;
	}

	/**
	 * @param server the server to set
	 */
	public void setServer(String server) {
		this.server = server;
	}

	/**
	 * @return the username
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * @param username the username to set
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * @return the password
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * @param password the password to set
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * @return the externalIPAddress
	 */
	public String getExternalIPAddress() {
		return externalIPAddress;
	}

	/**
	 * @param externalIPAddress the externalIPAddress to set
	 */
	public void setExternalIPAddress(String externalIPAddress) {
		this.externalIPAddress = externalIPAddress;
	}

	/**
	 * @return the isBinaryTransferType
	 */
	public boolean isBinaryTransferType() {
		return isBinaryTransferType;
	}

	/**
	 * @param isBinaryTransferType the isBinaryTransferType to set
	 */
	public void setBinaryTransferType(boolean isBinaryTransferType) {
		this.isBinaryTransferType = isBinaryTransferType;
	}

	/**
	 * @return the isActiveMode
	 */
	public boolean isActiveMode() {
		return isActiveMode;
	}

	/**
	 * @param isActiveMode the isActiveMode to set
	 */
	public void setActiveMode(boolean isActiveMode) {
		this.isActiveMode = isActiveMode;
	}
	
	public void setActivePortRange()
	{
		// Set the port range
	}

	/**
	 * @return ProxySettings an instance of ProxySettings
	 */
	public ProxySettings getProxySettings()
	{
		return ProxySettings.getInstance();
	}

	/**
	 * @param value to indicate whether proxy is enabled or disabled
	 */
	public void setProxyEnabled(boolean value)
	{
		this.proxyEnabled = value;
	}
	
	/**
	 * @return true/false
	 */
	public boolean isProxyEnabled() {
		return proxyEnabled;
	}

	/**
	 * @return basepath
	 */
	public String getBasepath() {
		return basepath;
	}

	/**
	 * @param basepath
	 */
	public void setBasepath(String basepath) {
		this.basepath = basepath;
	}

	/**
	 * @return document
	 */
	public Document getDocument() {
		return document;
	}

	/**
	 * @param document
	 */
	public void setDocument(Document document) {
		this.document = document;
	}
}